package D1;

import java.util.Scanner;

/*（成绩分析题）
小蓝给学生们组织了一场考试，卷面总分为100分，每个学生的得分都是一个0到100的整数.
请计算这次考试的最高分、最低分和平均分。
输入的第一行包含一个整数n，表示考试人数。
接下来几行，每行包含一个0至100的整数，表示一个学生的得分。
输出三行。
第一行包含一个整数，表示最高分。
第二行包含一个整数，表示最低分。
第三行包含一个实数，四舍五入保留正好两位小数，表示平均分。
*/
//经验小贴：
//备战流程：看视频，把视频中的题目摘取到idea（完完整整的分析，消化，试错，一行一行标记注释）和eclipse（重新做一遍）
//做题流程：
//1.把题目中的变量提取出来，并初始化
//2.把要写的代码分成三个模块（输入模块，处理模块，输出模块）
//3.分析处理模块的流程（算法用在处理模块上），用for（遍历，更新）还是用if（判断）
//4.要把数字转为n这样的规律

public class T1 {
    public static void main(String[] args) {
        //输入部分
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();//输入一个整数

        //处理部分（初始化，控制流程）
        int max=0,min=100;//在统计分数时，初始化 max = 0 和 min = 100 是为了确保任何有效分数都能正确更新这两个值
        double sum=0,average=0;//这里有个点，sum必须是double类型，不然调试出问题，也就是说如果输出为小数，那么与这个数有直接关系的数也必须与输出数的数据类型一样
        for (int i = 0; i < n; i++) {
            int score=scan.nextInt();//输入10个分数（for实现）
            max=Math.max(max,score);//得到最高分（调用Math类的max方法，更新最高分）
            min=Math.min(min,score);//得到最高分（调用Math类的min方法，更新最高分）
            sum+=score;//得到总分（用for更新分数）
        }
        average=sum/n;

        //输出部分
        System.out.println(max);
        System.out.println(min);
        System.out.printf("%.2f",average);//输出平均分
    }
}
